package collection;

import java.io.FileReader;
import java.util.*;

/**
 * java.util.List接口
 * List继承自collection,特点是可以存放重复元素且有序
 * 其提供了一套可以通过下标操作元素的方法
 *
 * 常用实现类:
 * java.util.ArrayList:内部使用数据实现,查询性更好
 * java.util.LinkedList:其内部使用链表实现,增删性能更好,首尾增删性能最佳
 * 在对性能没有特别苛刻要求下,默认首选ArrayList即可.
 */
public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        //List<String> list=new LinkedList<>();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        System.out.println(list);

        String str=list.get(2); //arr[2]
        System.out.println(str);


        for (int i = 0; i <list.size() ; i++) {
            str=list.get(i);
            System.out.println(str);
        }
        /*
        将给定元素设置到指定位置上,返回值为该位置原有元素替换元素操作
         */
       String old=list.set(2,"six");
        System.out.println(list);
        System.out.println(old);

        for (int i = 0; i <list.size()/2 ; i++) {
            String s=list.get(i);
            s=list.set(list.size()-1-i,s);
            list.set(i,s);
        }
        System.out.println(list);
        Collections.reverse(list);//翻转
    }
}

//github 翻墙
//科学上网,梯子,翻墙.

